package dto;

import java.util.List;

import org.springframework.web.multipart.MultipartFile;

public class RoomDTO {
	private int roomNo;
	private int accommodates;
	private int bedrooms;
	private String title;
	private String description;
	private String phone;
	private String nation;
	private int price1;
	private int price7;
	private int price30;
	private String checkInTime;
	private String checkOutTime;
	private String addDetail;
	
	private String addressId;
	private AddressDTO address;
	private String memberId;
	private MemberDTO member;
	private String propertyId;
	private PropertyDTO property;
	private String privacyId;
	private PrivacyDTO privacy;
	private String refundId;
	private RefundDTO refund;
	
	private List<MultipartFile> upfile;
	
	public RoomDTO() {
		super();
	}

	public RoomDTO(int roomNo, int accommodates, int bedrooms, String title,
			String description, String phone, String nation, int price1,
			int price7, int price30, String checkInTime, String checkOutTime,
			String addDetail, String addressId, AddressDTO address,
			String memberId, MemberDTO member, String propertyId,
			PropertyDTO property, String privacyId, PrivacyDTO privacy,
			String refundId, RefundDTO refund, List<MultipartFile> upfile) {
		super();
		this.roomNo = roomNo;
		this.accommodates = accommodates;
		this.bedrooms = bedrooms;
		this.title = title;
		this.description = description;
		this.phone = phone;
		this.nation = nation;
		this.price1 = price1;
		this.price7 = price7;
		this.price30 = price30;
		this.checkInTime = checkInTime;
		this.checkOutTime = checkOutTime;
		this.addDetail = addDetail;
		this.addressId = addressId;
		this.address = address;
		this.memberId = memberId;
		this.member = member;
		this.propertyId = propertyId;
		this.property = property;
		this.privacyId = privacyId;
		this.privacy = privacy;
		this.refundId = refundId;
		this.refund = refund;
		this.upfile = upfile;
	}

	public int getRoomNo() {
		return roomNo;
	}

	public void setRoomNo(int roomNo) {
		this.roomNo = roomNo;
	}

	public int getAccommodates() {
		return accommodates;
	}

	public void setAccommodates(int accommodates) {
		this.accommodates = accommodates;
	}

	public int getBedrooms() {
		return bedrooms;
	}

	public void setBedrooms(int bedrooms) {
		this.bedrooms = bedrooms;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getNation() {
		return nation;
	}

	public void setNation(String nation) {
		this.nation = nation;
	}

	public int getPrice1() {
		return price1;
	}

	public void setPrice1(int price1) {
		this.price1 = price1;
	}

	public int getPrice7() {
		return price7;
	}

	public void setPrice7(int price7) {
		this.price7 = price7;
	}

	public int getPrice30() {
		return price30;
	}

	public void setPrice30(int price30) {
		this.price30 = price30;
	}

	public String getCheckInTime() {
		return checkInTime;
	}

	public void setCheckInTime(String checkInTime) {
		this.checkInTime = checkInTime;
	}

	public String getCheckOutTime() {
		return checkOutTime;
	}

	public void setCheckOutTime(String checkOutTime) {
		this.checkOutTime = checkOutTime;
	}

	public String getAddDetail() {
		return addDetail;
	}

	public void setAddDetail(String addDetail) {
		this.addDetail = addDetail;
	}

	public String getAddressId() {
		return addressId;
	}

	public void setAddressId(String addressId) {
		this.addressId = addressId;
	}

	public AddressDTO getAddress() {
		return address;
	}

	public void setAddress(AddressDTO address) {
		this.address = address;
	}

	public String getMemberId() {
		return memberId;
	}

	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	public MemberDTO getMember() {
		return member;
	}

	public void setMember(MemberDTO member) {
		this.member = member;
	}

	public String getPropertyId() {
		return propertyId;
	}

	public void setPropertyId(String propertyId) {
		this.propertyId = propertyId;
	}

	public PropertyDTO getProperty() {
		return property;
	}

	public void setProperty(PropertyDTO property) {
		this.property = property;
	}

	public String getPrivacyId() {
		return privacyId;
	}

	public void setPrivacyId(String privacyId) {
		this.privacyId = privacyId;
	}

	public PrivacyDTO getPrivacy() {
		return privacy;
	}

	public void setPrivacy(PrivacyDTO privacy) {
		this.privacy = privacy;
	}

	public String getRefundId() {
		return refundId;
	}

	public void setRefundId(String refundId) {
		this.refundId = refundId;
	}

	public RefundDTO getRefund() {
		return refund;
	}

	public void setRefund(RefundDTO refund) {
		this.refund = refund;
	}

	public List<MultipartFile> getUpfile() {
		return upfile;
	}

	public void setUpfile(List<MultipartFile> upfile) {
		this.upfile = upfile;
	}

	@Override
	public String toString() {
		return "RoomDTO [roomNo=" + roomNo + ", accommodates=" + accommodates
				+ ", bedrooms=" + bedrooms + ", title=" + title
				+ ", description=" + description + ", phone=" + phone
				+ ", nation=" + nation + ", price1=" + price1 + ", price7="
				+ price7 + ", price30=" + price30 + ", checkInTime="
				+ checkInTime + ", checkOutTime=" + checkOutTime
				+ ", addDetail=" + addDetail + ", addressId=" + addressId
				+ ", address=" + address + ", memberId=" + memberId
				+ ", member=" + member + ", propertyId=" + propertyId
				+ ", property=" + property + ", privacyId=" + privacyId
				+ ", privacy=" + privacy + ", refundId=" + refundId
				+ ", refund=" + refund + ", upfile=" + upfile + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + accommodates;
		result = prime * result
				+ ((addDetail == null) ? 0 : addDetail.hashCode());
		result = prime * result + ((address == null) ? 0 : address.hashCode());
		result = prime * result
				+ ((addressId == null) ? 0 : addressId.hashCode());
		result = prime * result + bedrooms;
		result = prime * result
				+ ((checkInTime == null) ? 0 : checkInTime.hashCode());
		result = prime * result
				+ ((checkOutTime == null) ? 0 : checkOutTime.hashCode());
		result = prime * result
				+ ((description == null) ? 0 : description.hashCode());
		result = prime * result + ((member == null) ? 0 : member.hashCode());
		result = prime * result
				+ ((memberId == null) ? 0 : memberId.hashCode());
		result = prime * result + ((nation == null) ? 0 : nation.hashCode());
		result = prime * result + ((phone == null) ? 0 : phone.hashCode());
		result = prime * result + price1;
		result = prime * result + price30;
		result = prime * result + price7;
		result = prime * result + ((privacy == null) ? 0 : privacy.hashCode());
		result = prime * result
				+ ((privacyId == null) ? 0 : privacyId.hashCode());
		result = prime * result
				+ ((property == null) ? 0 : property.hashCode());
		result = prime * result
				+ ((propertyId == null) ? 0 : propertyId.hashCode());
		result = prime * result + ((refund == null) ? 0 : refund.hashCode());
		result = prime * result
				+ ((refundId == null) ? 0 : refundId.hashCode());
		result = prime * result + roomNo;
		result = prime * result + ((title == null) ? 0 : title.hashCode());
		result = prime * result + ((upfile == null) ? 0 : upfile.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		RoomDTO other = (RoomDTO) obj;
		if (accommodates != other.accommodates)
			return false;
		if (addDetail == null) {
			if (other.addDetail != null)
				return false;
		} else if (!addDetail.equals(other.addDetail))
			return false;
		if (address == null) {
			if (other.address != null)
				return false;
		} else if (!address.equals(other.address))
			return false;
		if (addressId == null) {
			if (other.addressId != null)
				return false;
		} else if (!addressId.equals(other.addressId))
			return false;
		if (bedrooms != other.bedrooms)
			return false;
		if (checkInTime == null) {
			if (other.checkInTime != null)
				return false;
		} else if (!checkInTime.equals(other.checkInTime))
			return false;
		if (checkOutTime == null) {
			if (other.checkOutTime != null)
				return false;
		} else if (!checkOutTime.equals(other.checkOutTime))
			return false;
		if (description == null) {
			if (other.description != null)
				return false;
		} else if (!description.equals(other.description))
			return false;
		if (member == null) {
			if (other.member != null)
				return false;
		} else if (!member.equals(other.member))
			return false;
		if (memberId == null) {
			if (other.memberId != null)
				return false;
		} else if (!memberId.equals(other.memberId))
			return false;
		if (nation == null) {
			if (other.nation != null)
				return false;
		} else if (!nation.equals(other.nation))
			return false;
		if (phone == null) {
			if (other.phone != null)
				return false;
		} else if (!phone.equals(other.phone))
			return false;
		if (price1 != other.price1)
			return false;
		if (price30 != other.price30)
			return false;
		if (price7 != other.price7)
			return false;
		if (privacy == null) {
			if (other.privacy != null)
				return false;
		} else if (!privacy.equals(other.privacy))
			return false;
		if (privacyId == null) {
			if (other.privacyId != null)
				return false;
		} else if (!privacyId.equals(other.privacyId))
			return false;
		if (property == null) {
			if (other.property != null)
				return false;
		} else if (!property.equals(other.property))
			return false;
		if (propertyId == null) {
			if (other.propertyId != null)
				return false;
		} else if (!propertyId.equals(other.propertyId))
			return false;
		if (refund == null) {
			if (other.refund != null)
				return false;
		} else if (!refund.equals(other.refund))
			return false;
		if (refundId == null) {
			if (other.refundId != null)
				return false;
		} else if (!refundId.equals(other.refundId))
			return false;
		if (roomNo != other.roomNo)
			return false;
		if (title == null) {
			if (other.title != null)
				return false;
		} else if (!title.equals(other.title))
			return false;
		if (upfile == null) {
			if (other.upfile != null)
				return false;
		} else if (!upfile.equals(other.upfile))
			return false;
		return true;
	}

	
	
}
